1. Field of Invention
This invention relates generally to information management systems and more particularly to distributed information management systems.
2. Discussion of Related Art
Information management systems are widely used. Such systems often include a database that stores “artifacts.” An artifact is a collection of data in an organized form that is manipulated by the information management system. Artifacts are often computer files. A common type of information management system is a version control system, such as may be used to manage files of computer source code in an enterprise developing software.
Information management systems are often networked so that multiple people within an enterprise may work with the artifacts. In the example of a source code management system, program developers, project managers, test engineers and others within the enterprise may all access the source code files. The files may be stored in a central database. To facilitate use of the files throughout the enterprise, information management systems often include a server linked to the database. The server is connected to a network, allowing workstations for the individual users of the information in the information management system to retrieve copies of the artifacts from the database. As users require artifacts, their workstations send requests to the server, which then provides copies of the artifacts over the network.
A networked architecture for an information management system may be used even when the enterprise has multiple work sites distributed over a relatively wide geographic area. A wide area network, including possibly the Internet, allows individual workstations at distributed locations to communicate with a server that has access to the database of artifacts.
Where any part of the communication path between the client and the server is unsecured, a secure channel may be created over the network, even if the network is unsecured. The Internet is an example of an unsecured communication path. Examples of secure channels that may be created over an insecure network are a secure socket layer (SSL) connection or a virtual private network (VPN).
In a secure channel, the communication protocol is such that it is difficult for an unintended recipient to determine the content of information transmitted over the network, even if the transmissions are intercepted. For example, a device transmitting through a SSL channel encrypts information as the information is transmitted. The information may also be broken into pieces so that there is no readily detectable correlation to information being transmitted. As a result, an unintended recipient may not even be able to identify the portions of the transmissions that represent files or other logically related blocks of data, making efforts to “crack” an encryption mechanism more difficult.
A drawback of using a secure channel is the amount of time required by a user to download information over the secure channel and the overhead imposed in a client-server environment. SSL employs a unique asymmetric key pair for each user's session. A unique symmetric key is used for encryption of data as it is transmitted over the channel. Where information on a server is to be distributed to multiple clients, using SSL channels imposes a high overhead on the server. It would be desirable to provide an improved method and apparatus for an information management system such as may be operated by an enterprise with geographically disbursed sites interconnected by unsecured channels.